#pragma once

#include "vrdatacore_global.h"
#include "notransformactor.h"

namespace VrDataCore
{
	class StatusBase;
	class DrawableActor;
	class VRDATACORE_EXPORT OperationBase:public NoTransformActor
	{
	public:
		OperationBase();
		void setBindingStatusActor(StatusBase* statusactor);
		StatusBase* getBindingStatusActor();
		void setOperationObject(DrawableActor* obj);
		DrawableActor* getOperationObject();
		void setBindingStatus(QString statusname);
		QString getBindingStatus();

		virtual void acceptEvent();
		virtual void buildPropertyMap();
		virtual void onMapLoadBegin(CoreBase::Map*){}
		virtual void onMapLoadEnd(CoreBase::Map*);
		virtual bool isAutoEvent();
	protected:
		~OperationBase();
		QString						_statusName;
		StatusBase*					_statusActor;
		DrawableActor*				_objectActor;
	};
}